package cn.b.sky.mes.mm.service;

import java.util.List;

import cn.b.sky.mes.mm.model.StorageLocationType;
import cn.b.sky.mes.mm.model.condition.StorageLocationTypeCondition;
import cn.b.sky.common.model.BatchJobReport;

/**
 * 
 * <strong>Title : StorageLocationTypeService.java<br></strong>
 * <strong>Package : cn.b.sky.mes.mm.service<br></strong>
 * <strong>Description : </strong>库位类型数据接口<br> 
 * <strong>Create on : 2016-2-29 下午01:40:11<br></strong>
 * <p>
 * @author zhaoxin01<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 * <strong>修改历史:</strong><br>
 * 修改人    |    修改日期    |    修改描述<br>
 * -------------------------------------------<br>
 * <br>
 * <br>
 */
public interface StorageLocationTypeService {
  /**
   * 
   * <strong>Title : selectStorageLocationTypeList<br></strong>
   * <strong>Description : </strong>分页查询库位类型<br> 
   * <strong>Create on : 2016-2-29 上午11:11:25<br></strong>
   * <p>
   * @param storageLocationTypeCondition
   * @return
   * List<StorageLocationType>
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人    |    修改日期    |    修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<StorageLocationType> selectStorageLocationTypeList(StorageLocationTypeCondition storageLocationTypeCondition);

  /**
   * 
   * <strong>Title : selectStorageLocationTypeCount<br></strong>
   * <strong>Description : </strong>查询库位类型数量<br> 
   * <strong>Create on : 2016-2-29 上午11:18:00<br></strong>
   * <p>
   * @param storageLocationTypeCondition
   * @return
   * int
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人    |    修改日期    |    修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  int selectStorageLocationTypeCount(StorageLocationTypeCondition storageLocationTypeCondition);

  /**
   * 
   * <strong>Title : selectStorageLocationType<br></strong>
   * <strong>Description : </strong>查询库位类型<br> 
   * <strong>Create on : 2016-2-29 下午01:25:12<br></strong>
   * <p>
   * @param storageLocationType
   * @return
   * StorageLocationType
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人    |    修改日期    |    修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  StorageLocationType selectStorageLocationType(String siteCode, String storageLocationTypeCode);

  /**
   * 
   * <strong>Title : insertStorageLocationType<br></strong>
   * <strong>Description : </strong>新增库位类型<br> 
   * <strong>Create on : 2016-2-29 下午01:29:16<br></strong>
   * <p>
   * @param storageLocationType
   * void
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人    |    修改日期    |    修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void insertStorageLocationType(StorageLocationType storageLocationType);

  /**
   * 
   * <strong>Title : updateStorageLocationType<br></strong>
   * <strong>Description : </strong>更新库位类型<br> 
   * <strong>Create on : 2016-2-29 下午01:29:39<br></strong>
   * <p>
   * @param storageLocationType
   * void
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人    |    修改日期    |    修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void updateStorageLocationType(StorageLocationType storageLocationType);

  /**
   * 
   * <strong>Title : deleteStorageLocationType<br></strong>
   * <strong>Description : </strong>删除库位类型<br> 
   * <strong>Create on : 2016-2-29 下午01:30:06<br></strong>
   * <p>
   * @param storageLocationType
   * void
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人    |    修改日期    |    修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  BatchJobReport deleteStorageLocationType(String siteCode, String storageLocationTypeCode);

  /**
   * 
   * <strong>Title : selectUnLockStorageLocationTypes<br></strong>
   * <strong>Description : </strong>查询所有未锁定的库位类型<br> 
   * <strong>Create on : 2016-3-1 下午02:46:55<br></strong>
   * <p>
   * @param siteCode
   * @return
   * List<StorageLocationType>
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人    |    修改日期    |    修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<StorageLocationType> selectUnLockStorageLocationTypes(String siteCode);

}
